import 'package:flutter/cupertino.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:sonora/bloc/base/sj_base_event.dart';
import 'package:sonora/models/sj_broad_caster_data.dart';

part 'sj_medal_event.freezed.dart';

@freezed
class SjMedalEvent extends SjBaseEvent with _$SjMedalEvent {
  const factory SjMedalEvent.initial() = SjMedalEventInitial;
  const factory SjMedalEvent.loading() = SjMedalEventLoading;
  const factory SjMedalEvent.loadedData() = SjMedalEventLoaded;
  const factory SjMedalEvent.loadedUserInfo() = SjMedalEventLoadedUserInfo;
  const factory SjMedalEvent.loadedMedalData() = SjMedalEventLoadedMedal;
  const factory SjMedalEvent.obtain1Medal() = SjMedalEventObtain1Medal;
  const factory SjMedalEvent.obtain2Medal() = SjMedalEventObtain2Medal;
  const factory SjMedalEvent.obtain3Medal() = SjMedalEventObtain3Medal;
  const factory SjMedalEvent.upgrade1Medal() = SjMedalEventUpgrade1Medal;
  const factory SjMedalEvent.upgrade2Medal() = SjMedalEventUpgrade2Medal;
  const factory SjMedalEvent.upgrade3Medal() = SjMedalEventUpgrade3Medal;
  const factory SjMedalEvent.reviewModeConsume({required int outlay, required Function callback}) = SjMedalEventReviewModeConsume;
}